/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package fr.ove.applet;

/**
 *
 * @author Mr.Sam
 */
import fr.ove.applet.events.AppletListener;
import fr.ove.applet.events.AppletEvent;

/**
* The interface that all applet that wants to be listenable must implement.
*
* @author © 1999 DIRAT Laurent
* @version 1.0  30/04/99
*/
public interface ListenableApplet {
    /**
    * Sets the name of the applet.
    * @param name the name of the applet.
    */
    public void setName(String name);
    
    /**
    * Returns the name of the applet.
    */
    public String getName();
    
    /**
    * Registers a listener of the applet.
    */
    public void addAppletListener(AppletListener appletListener);
        
    /**
    * Unregisters the specified listener of the applet.
    * @param appletListener the listener to remove.
    */
    public void removeAppletListener(AppletListener appletListener);

    /**
    * Fires an event to all the registered listeners of the applet.
    * @param appletEvent the event to fire.
    */
    public void fireAppletEvent(AppletEvent appletEvent);
}    
